Applying graph partitioning methods in measurement-based dynamic load balancing

نویسندگان

  • A. Bhatele
  • S. Fourestier
  • H. Menon
  • L. V. Kale
  • F. Pellegrini
  • Abhinav Bhatele
  • Sébastien Fourestier
  • Harshitha Menon
  • Laxmikant V. Kale
  • François Pellegrini
چکیده

Load imbalance leads to an increasing waste of resources as an application is scaled to more and more processors. Achieving the best parallel efficiency for a program requires optimal load balancing which is a NP-hard problem. However, finding near-optimal solutions to this problem for complex computational science and engineering applications is becoming increasingly important. Charm++, a migratable objects based programming model, provides a measurement-based dynamic load balancing framework. This framework instruments and then migrates over-decomposed objects to balance computational load and communication at runtime. This paper explores the use of graph partitioning algorithms, traditionally used for partitioning physical domains/meshes, for measurement-based dynamic load balancing of parallel applications. In particular, we present repartitioning methods developed in a graph partitioning toolbox called SCOTCH that consider the previous mapping to minimize migration costs. We also discuss a new imbalance reduction algorithm for graphs with irregular load distributions. We compare several load balancing algorithms using microbenchmarks on Intrepid and Ranger and evaluate the effect of communication, number of cores and number of objects on the benefit achieved from load balancing. New algorithms developed in SCOTCH lead to better performance compared to the METIS partitioners for several cases, both in terms of the application execution time and fewer number of objects migrated. Keywords-load balancing; graph partitioning; instrumentation; communication-aware; performance

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Highly scalable SFC-based dynamic load balancing and its application to atmospheric modeling

Load balance is one of the major challenges for efficient supercomputing, especially for applications that exhibit workload variations. Various dynamic load balancing and workload partitioning methods have been developed to handle this issue by migrating workload between nodes periodically during the runtime. However, on today’s top HPC systems – and even more so on future exascale systems – ru...

متن کامل

A repartitioning hypergraph model for dynamic load balancing

In parallel adaptive applications, the computational structure of the applications changes over time, leading to load imbalances even though the initial load distributions were balanced. To restore balance and to keep communication volume low in further iterations of the applications, dynamic load balancing (repartitioning) of the changed computational structure is required. Repartitioning diff...

متن کامل

Dynamic Domain Decomposition and Load Balancing in Parallel Simulation of Finite/discrete Elements

A dynamic domain decomposition strategy is proposed for the effective parallel implementation of combined finite/discrete element approaches. Attention is focused on the parallelised interaction detection between discrete objects. Issues including graph representation, initial partitioning and dynamic re-partitioning are discussed and a load imbalance detection and re-balancing scheme is also s...

متن کامل

Graph Repartitioning with both Dynamic Load and Dynamic Processor Allocation

Dynamic load balancing is an important step conditioning the performance of parallel programs, like adaptive mesh refinement codes. If the global workload varies drastically over time (such that memory is exceeded), it can be relevant to adjust the number of processors while maintaining the load balanced. We propose two different solutions, that extend classic graph repartitioning approaches to...

متن کامل

Partitioning and Load Balancing for Emerging Parallel Applications and Architectures

An important component of parallel scientific computing is partitioning – the assignment of work to processors. This assignment occurs at the start of a computation (“static” partitioning). Often, reassignment also is done during a computation (“dynamic” partitioning) to redistribute work as the computation changes. The goal of partitioning is to assign work to processors in a way that minimize...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013